In [2]:
!pip install shap
Collecting shap Obtaining dependency information for shap from https://files.pythonhosted.org/packages/04/58/b2ea558ec8d9ed3728e83dfacb1b920c54a1a1f6feee2632c04676c3c1e9/shap-0.46.0-cp312-cp312-win_amd64.whl.metadata Using cached shap-0.46.0-cp312-cp312-win_amd64.whl.metadata (25 kB) Requirement already satisfied: numpy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (2.0.2) Requirement already satisfied: scipy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (1.14.1) Requirement already satisfied: scikit-learn in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (1.5.2) Requirement already satisfied: pandas in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (2.2.3) Requirement already satisfied: tqdm>=4.27.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (4.67.1) Requirement already satisfied: packaging>20.9 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (24.1) Requirement already satisfied: slicer==0.0.8 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from shap) (0.0.8) Collecting numba (from shap) Obtaining dependency information for numba from https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl.metadata Using cached numba-0.60.0-cp312-cp312-win_amd64.whl.metadata (2.8 kB) Collecting cloudpickle (from shap) Obtaining dependency information for cloudpickle from https://files.pythonhosted.org/packages/48/41/e1d85ca3cab0b674e277c8c4f678cf66a91cd2cecf93df94353a606fe0db/cloudpickle-3.1.0-py3-none-any.whl.metadata Using cached cloudpickle-3.1.0-py3-none-any.whl.metadata (7.0 kB) Requirement already satisfied: colorama in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from tqdm>=4.27.0->shap) (0.4.6) Collecting llvmlite<0.44,>=0.43.0dev0 (from numba->shap) Obtaining dependency information for llvmlite<0.44,>=0.43.0dev0 from https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl.metadata Using cached llvmlite-0.43.0-cp312-cp312-win_amd64.whl.metadata (4.9 kB) Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from pandas->shap) (2.9.0.post0) Requirement already satisfied: pytz>=2020.1 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from pandas->shap) (2024.2) Requirement already satisfied: tzdata>=2022.7 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from pandas->shap) (2023.3) Requirement already satisfied: joblib>=1.2.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-learn->shap) (1.4.2) Requirement already satisfied: threadpoolctl>=3.1.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-learn->shap) (3.5.0) Requirement already satisfied: six>=1.5 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from python-dateutil>=2.8.2->pandas->shap) (1.16.0) Using cached shap-0.46.0-cp312-cp312-win_amd64.whl (456 kB) Using cached cloudpickle-3.1.0-py3-none-any.whl (22 kB) Using cached numba-0.60.0-cp312-cp312-win_amd64.whl (2.7 MB) Using cached llvmlite-0.43.0-cp312-cp312-win_amd64.whl (28.1 MB) Installing collected packages: llvmlite, cloudpickle, numba, shap Successfully installed cloudpickle-3.1.0 llvmlite-0.43.0 numba-0.60.0 shap-0.46.0
[notice] A new release of pip is available: 23.2.1 -> 24.3.1 [notice] To update, run: python.exe -m pip install --upgrade pip
In [3]:
!pip install lime
Requirement already satisfied: lime in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (0.2.0.1) Requirement already satisfied: matplotlib in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (3.9.2) Requirement already satisfied: numpy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (2.0.2) Requirement already satisfied: scipy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (1.14.1) Requirement already satisfied: tqdm in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (4.67.1) Requirement already satisfied: scikit-learn>=0.18 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (1.5.2) Requirement already satisfied: scikit-image>=0.12 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from lime) (0.24.0) Requirement already satisfied: networkx>=2.8 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (3.4.2) Requirement already satisfied: pillow>=9.1 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (10.4.0) Requirement already satisfied: imageio>=2.33 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (2.36.0) Requirement already satisfied: tifffile>=2022.8.12 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (2024.9.20) Requirement already satisfied: packaging>=21 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (24.1) Requirement already satisfied: lazy-loader>=0.4 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-image>=0.12->lime) (0.4) Requirement already satisfied: joblib>=1.2.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-learn>=0.18->lime) (1.4.2) Requirement already satisfied: threadpoolctl>=3.1.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from scikit-learn>=0.18->lime) (3.5.0) Requirement already satisfied: contourpy>=1.0.1 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (1.3.0) Requirement already satisfied: cycler>=0.10 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (4.53.1) Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (1.4.5) Requirement already satisfied: pyparsing>=2.3.1 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (3.1.4) Requirement already satisfied: python-dateutil>=2.7 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from matplotlib->lime) (2.9.0.post0) Requirement already satisfied: colorama in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from tqdm->lime) (0.4.6) Requirement already satisfied: six>=1.5 in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from python-dateutil>=2.7->matplotlib->lime) (1.16.0)
[notice] A new release of pip is available: 23.2.1 -> 24.3.1 [notice] To update, run: python.exe -m pip install --upgrade pip
In [5]:
!pip install openpyxl
Collecting openpyxl Obtaining dependency information for openpyxl from https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl.metadata Downloading openpyxl-3.1.5-py2.py3-none-any.whl.metadata (2.5 kB) Collecting et-xmlfile (from openpyxl) Obtaining dependency information for et-xmlfile from https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl.metadata Downloading et_xmlfile-2.0.0-py3-none-any.whl.metadata (2.7 kB) Downloading openpyxl-3.1.5-py2.py3-none-any.whl (250 kB) ---------------------------------------- 0.0/250.9 kB ? eta -:--:-- - -------------------------------------- 10.2/250.9 kB ? eta -:--:-- ------------------- -------------------- 122.9/250.9 kB 1.8 MB/s eta 0:00:01 ---------------------------------------- 250.9/250.9 kB 2.6 MB/s eta 0:00:00 Downloading et_xmlfile-2.0.0-py3-none-any.whl (18 kB) Installing collected packages: et-xmlfile, openpyxl Successfully installed et-xmlfile-2.0.0 openpyxl-3.1.5
[notice] A new release of pip is available: 23.2.1 -> 24.3.1 [notice] To update, run: python.exe -m pip install --upgrade pip
In [1]:
import pandas as pd
import numpy as np
from sklearn.model_selection import cross_val_score, GridSearchCV, train_test_split
from sklearn.linear_model import LinearRegression, Ridge, Lasso
from sklearn.neighbors import KNeighborsRegressor
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
# Import LIME
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machine learning/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Standardize the data
scaler = StandardScaler()
X = scaler.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.95) # Preserve 95% of variance
X_pca = pca.fit_transform(X)
# Train-test split
X_train, X_test, y_train, y_test = train_test_split(X_pca, y, test_size=0.2, random_state=42)
# List of regression models up to Decision Tree
models = [
('Linear Regression', LinearRegression()),
('Ridge Regression', Ridge()),
('Lasso Regression', Lasso()),
('KNN', KNeighborsRegressor()),
('Decision Tree', DecisionTreeRegressor())
]
# Function to calculate and return performance metrics
def evaluate_model(model, X, y):
# Cross-validation with 10 folds
cv_scores_rmse = cross_val_score(model, X, y, cv=10, scoring='neg_mean_squared_error')
cv_scores_r2 = cross_val_score(model, X, y, cv=10, scoring='r2')
# Compute mean and standard deviation of CV scores
rmse_mean = -cv_scores_rmse.mean() # Convert negative RMSE to positive
rmse_std = cv_scores_rmse.std()
r2_mean = cv_scores_r2.mean()
r2_std = cv_scores_r2.std()
return rmse_mean, rmse_std, r2_mean, r2_std
# Hyperparameter tuning using GridSearchCV for the selected models
param_grids = {
'Linear Regression': {}, # No hyperparameters for linear regression
'Ridge Regression': {'alpha': [0.1, 1, 10, 100]},
'Lasso Regression': {'alpha': [0.1, 1, 10]},
'KNN': {'n_neighbors': [3, 5, 10, 15], 'weights': ['uniform', 'distance']},
'Decision Tree': {'max_depth': [None, 5, 10, 20], 'min_samples_split': [2, 5, 10]}
}
# Perform hyperparameter tuning and evaluation for each model
for name, model in models:
print(f"\nTraining and hyperparameter tuning for {name}...")
param_grid = param_grids.get(name, {})
# Skip models with no parameters to tune
if param_grid:
grid_search = GridSearchCV(model, param_grid, cv=10, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best {name} model: {grid_search.best_params_}")
else:
best_model = model
best_model.fit(X_train, y_train) # Explicitly fit the model if no hyperparameters are tuned
# Cross-validation after tuning
rmse_mean, rmse_std, r2_mean, r2_std = evaluate_model(best_model, X_train, y_train)
print(f"Cross-validation after tuning for {name}:")
print(f"CV Mean RMSE (after tuning): {rmse_mean}, CV RMSE Std: {rmse_std}")
print(f"CV Mean R² (after tuning): {r2_mean}, CV R² Std: {r2_std}")
# Evaluate the model on the test data
y_pred = best_model.predict(X_test)
# Apply clipping strategy to keep predictions within the 0-5 range
y_pred_clipped = np.clip(y_pred, 0, 5)
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_clipped))
test_r2 = r2_score(y_test, y_pred_clipped)
print(f"\nTest RMSE: {test_rmse}")
print(f"Test R²: {test_r2}")
# LIME Explanation
print(f"\nLIME Explanation for {name}:")
explainer = lime.lime_tabular.LimeTabularExplainer(X_train, training_labels=y_train, mode='regression', verbose=True, feature_names=data.columns[:-1])
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for Linear Regression... Cross-validation after tuning for Linear Regression: CV Mean RMSE (after tuning): 0.34735736022123026, CV RMSE Std: 0.0511733615527798 CV Mean R² (after tuning): 0.8537205153844616, CV R² Std: 0.02436128878256942 Test RMSE: 0.5758369710338836 Test R²: 0.8697499057263555 LIME Explanation for Linear Regression: Intercept 2.1411892745318455 Prediction_local [4.90563032] Right: 6.057587543803062
Training and hyperparameter tuning for Ridge Regression...
Best Ridge Regression model: {'alpha': 100}
Cross-validation after tuning for Ridge Regression:
CV Mean RMSE (after tuning): 0.34208842353388536, CV RMSE Std: 0.05107372275185737
CV Mean R² (after tuning): 0.8559935336690273, CV R² Std: 0.023783216423366355
Test RMSE: 0.5764020445191669
Test R²: 0.8694941493543226
LIME Explanation for Ridge Regression:
Intercept 2.1038890545211353
Prediction_local [4.94020879]
Right: 6.054538729981886
Training and hyperparameter tuning for Lasso Regression...
Best Lasso Regression model: {'alpha': 0.1}
Cross-validation after tuning for Lasso Regression:
CV Mean RMSE (after tuning): 0.44042065777873274, CV RMSE Std: 0.06475827450454574
CV Mean R² (after tuning): 0.8146543130001127, CV R² Std: 0.0294914147433113
Test RMSE: 0.665670059799786
Test R²: 0.8259407914917344
LIME Explanation for Lasso Regression:
Intercept 2.149955798263336
Prediction_local [4.85690765]
Right: 6.18389488781707
Training and hyperparameter tuning for KNN...
Best KNN model: {'n_neighbors': 10, 'weights': 'distance'}
Cross-validation after tuning for KNN:
CV Mean RMSE (after tuning): 0.29859715056904274, CV RMSE Std: 0.05672512741500096
CV Mean R² (after tuning): 0.8746196733046062, CV R² Std: 0.02339129143523977
Test RMSE: 0.5986855969869909
Test R²: 0.859208454332221
LIME Explanation for KNN:
Intercept 2.1683287487742775
Prediction_local [3.70117063]
Right: 5.0
Training and hyperparameter tuning for Decision Tree...
Best Decision Tree model: {'max_depth': None, 'min_samples_split': 10}
Cross-validation after tuning for Decision Tree:
CV Mean RMSE (after tuning): 0.621380522213854, CV RMSE Std: 0.08999946295504557
CV Mean R² (after tuning): 0.7403775846738363, CV R² Std: 0.04379052607184457
Test RMSE: 0.8239336108733007
Test R²: 0.7333366102130742
LIME Explanation for Decision Tree:
Intercept 2.35377744265572
Prediction_local [4.14237041]
Right: 5.0
In [3]:
!pip install xgboost
Collecting xgboost
Obtaining dependency information for xgboost from https://files.pythonhosted.org/packages/70/58/2f94976df39470fb00eec2cb4f914dde44cd0df8d96483208bf7db4bc97e/xgboost-2.1.3-py3-none-win_amd64.whl.metadata
Downloading xgboost-2.1.3-py3-none-win_amd64.whl.metadata (2.1 kB)
Requirement already satisfied: numpy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from xgboost) (2.0.2)
Requirement already satisfied: scipy in c:\users\dhanu\appdata\local\programs\python\python312\lib\site-packages (from xgboost) (1.14.1)
Downloading xgboost-2.1.3-py3-none-win_amd64.whl (124.9 MB)
---------------------------------------- 0.0/124.9 MB ? eta -:--:--
---------------------------------------- 0.0/124.9 MB ? eta -:--:--
---------------------------------------- 0.0/124.9 MB 435.7 kB/s eta 0:04:47
---------------------------------------- 0.0/124.9 MB 487.6 kB/s eta 0:04:17
---------------------------------------- 0.1/124.9 MB 751.6 kB/s eta 0:02:47
---------------------------------------- 0.1/124.9 MB 722.1 kB/s eta 0:02:53
---------------------------------------- 0.1/124.9 MB 653.6 kB/s eta 0:03:11
---------------------------------------- 0.2/124.9 MB 655.4 kB/s eta 0:03:11
---------------------------------------- 0.2/124.9 MB 689.6 kB/s eta 0:03:01
---------------------------------------- 0.3/124.9 MB 749.3 kB/s eta 0:02:47
---------------------------------------- 0.3/124.9 MB 744.2 kB/s eta 0:02:48
---------------------------------------- 0.3/124.9 MB 706.2 kB/s eta 0:02:57
---------------------------------------- 0.3/124.9 MB 746.0 kB/s eta 0:02:47
---------------------------------------- 0.4/124.9 MB 813.6 kB/s eta 0:02:33
---------------------------------------- 0.5/124.9 MB 823.7 kB/s eta 0:02:32
---------------------------------------- 0.5/124.9 MB 793.0 kB/s eta 0:02:37
---------------------------------------- 0.6/124.9 MB 862.7 kB/s eta 0:02:25
---------------------------------------- 0.7/124.9 MB 999.0 kB/s eta 0:02:05
---------------------------------------- 0.7/124.9 MB 954.2 kB/s eta 0:02:11
---------------------------------------- 0.7/124.9 MB 955.7 kB/s eta 0:02:10
---------------------------------------- 0.7/124.9 MB 955.7 kB/s eta 0:02:10
---------------------------------------- 0.9/124.9 MB 1.1 MB/s eta 0:01:53
---------------------------------------- 1.0/124.9 MB 1.1 MB/s eta 0:01:49
---------------------------------------- 1.0/124.9 MB 1.1 MB/s eta 0:01:52
---------------------------------------- 1.0/124.9 MB 1.1 MB/s eta 0:01:58
---------------------------------------- 1.2/124.9 MB 1.2 MB/s eta 0:01:45
---------------------------------------- 1.3/124.9 MB 1.2 MB/s eta 0:01:42
---------------------------------------- 1.3/124.9 MB 1.2 MB/s eta 0:01:44
---------------------------------------- 1.4/124.9 MB 1.2 MB/s eta 0:01:46
---------------------------------------- 1.5/124.9 MB 1.2 MB/s eta 0:01:41
---------------------------------------- 1.6/124.9 MB 1.3 MB/s eta 0:01:38
--------------------------------------- 1.6/124.9 MB 1.2 MB/s eta 0:01:40
--------------------------------------- 1.6/124.9 MB 1.2 MB/s eta 0:01:41
--------------------------------------- 1.7/124.9 MB 1.2 MB/s eta 0:01:41
--------------------------------------- 1.8/124.9 MB 1.3 MB/s eta 0:01:36
--------------------------------------- 1.9/124.9 MB 1.3 MB/s eta 0:01:34
--------------------------------------- 1.9/124.9 MB 1.3 MB/s eta 0:01:35
--------------------------------------- 1.9/124.9 MB 1.3 MB/s eta 0:01:38
--------------------------------------- 2.0/124.9 MB 1.3 MB/s eta 0:01:37
--------------------------------------- 2.2/124.9 MB 1.3 MB/s eta 0:01:32
--------------------------------------- 2.2/124.9 MB 1.3 MB/s eta 0:01:33
--------------------------------------- 2.2/124.9 MB 1.3 MB/s eta 0:01:34
--------------------------------------- 2.2/124.9 MB 1.3 MB/s eta 0:01:36
--------------------------------------- 2.4/124.9 MB 1.4 MB/s eta 0:01:31
--------------------------------------- 2.5/124.9 MB 1.4 MB/s eta 0:01:30
--------------------------------------- 2.5/124.9 MB 1.3 MB/s eta 0:01:32
--------------------------------------- 2.5/124.9 MB 1.3 MB/s eta 0:01:33
--------------------------------------- 2.7/124.9 MB 1.4 MB/s eta 0:01:29
--------------------------------------- 2.8/124.9 MB 1.4 MB/s eta 0:01:27
--------------------------------------- 2.8/124.9 MB 1.4 MB/s eta 0:01:29
--------------------------------------- 2.8/124.9 MB 1.4 MB/s eta 0:01:29
--------------------------------------- 2.9/124.9 MB 1.4 MB/s eta 0:01:29
--------------------------------------- 2.9/124.9 MB 1.4 MB/s eta 0:01:29
--------------------------------------- 3.0/124.9 MB 1.4 MB/s eta 0:01:30
--------------------------------------- 3.0/124.9 MB 1.4 MB/s eta 0:01:30
- -------------------------------------- 3.2/124.9 MB 1.4 MB/s eta 0:01:29
- -------------------------------------- 3.2/124.9 MB 1.4 MB/s eta 0:01:29
- -------------------------------------- 3.3/124.9 MB 1.4 MB/s eta 0:01:30
- -------------------------------------- 3.4/124.9 MB 1.4 MB/s eta 0:01:28
- -------------------------------------- 3.4/124.9 MB 1.4 MB/s eta 0:01:27
- -------------------------------------- 3.5/124.9 MB 1.4 MB/s eta 0:01:28
- -------------------------------------- 3.6/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 3.7/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 3.7/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 3.8/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 3.9/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 4.0/124.9 MB 1.5 MB/s eta 0:01:24
- -------------------------------------- 4.0/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 4.1/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 4.2/124.9 MB 1.5 MB/s eta 0:01:24
- -------------------------------------- 4.3/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 4.4/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 4.5/124.9 MB 1.5 MB/s eta 0:01:22
- -------------------------------------- 4.5/124.9 MB 1.5 MB/s eta 0:01:22
- -------------------------------------- 4.5/124.9 MB 1.5 MB/s eta 0:01:22
- -------------------------------------- 4.6/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 4.7/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 4.7/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 4.8/124.9 MB 1.5 MB/s eta 0:01:22
- -------------------------------------- 4.9/124.9 MB 1.5 MB/s eta 0:01:22
- -------------------------------------- 4.9/124.9 MB 1.5 MB/s eta 0:01:23
- -------------------------------------- 5.0/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 5.0/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 5.0/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 5.1/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.1/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.1/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.2/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 5.2/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 5.3/124.9 MB 1.4 MB/s eta 0:01:26
- -------------------------------------- 5.5/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 5.6/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 5.6/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 5.6/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.7/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.7/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.7/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.9/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 5.9/124.9 MB 1.4 MB/s eta 0:01:25
- -------------------------------------- 6.0/124.9 MB 1.4 MB/s eta 0:01:24
- -------------------------------------- 6.2/124.9 MB 1.4 MB/s eta 0:01:23
-- ------------------------------------- 6.3/124.9 MB 1.5 MB/s eta 0:01:22
-- ------------------------------------- 6.5/124.9 MB 1.5 MB/s eta 0:01:20
-- ------------------------------------- 6.6/124.9 MB 1.5 MB/s eta 0:01:19
-- ------------------------------------- 6.8/124.9 MB 1.5 MB/s eta 0:01:18
-- ------------------------------------- 7.0/124.9 MB 1.5 MB/s eta 0:01:17
-- ------------------------------------- 7.2/124.9 MB 1.6 MB/s eta 0:01:15
-- ------------------------------------- 7.3/124.9 MB 1.6 MB/s eta 0:01:14
-- ------------------------------------- 7.5/124.9 MB 1.6 MB/s eta 0:01:13
-- ------------------------------------- 7.7/124.9 MB 1.6 MB/s eta 0:01:12
-- ------------------------------------- 7.9/124.9 MB 1.7 MB/s eta 0:01:10
-- ------------------------------------- 7.9/124.9 MB 1.7 MB/s eta 0:01:10
-- ------------------------------------- 8.2/124.9 MB 1.7 MB/s eta 0:01:09
-- ------------------------------------- 8.3/124.9 MB 1.7 MB/s eta 0:01:09
-- ------------------------------------- 8.5/124.9 MB 1.7 MB/s eta 0:01:08
-- ------------------------------------- 8.5/124.9 MB 1.7 MB/s eta 0:01:08
-- ------------------------------------- 8.6/124.9 MB 1.7 MB/s eta 0:01:08
-- ------------------------------------- 8.8/124.9 MB 1.8 MB/s eta 0:01:07
-- ------------------------------------- 9.0/124.9 MB 1.8 MB/s eta 0:01:06
-- ------------------------------------- 9.2/124.9 MB 1.8 MB/s eta 0:01:05
-- ------------------------------------- 9.3/124.9 MB 1.8 MB/s eta 0:01:05
--- ------------------------------------ 9.5/124.9 MB 1.8 MB/s eta 0:01:04
--- ------------------------------------ 9.6/124.9 MB 1.8 MB/s eta 0:01:03
--- ------------------------------------ 9.8/124.9 MB 1.9 MB/s eta 0:01:02
--- ------------------------------------ 10.1/124.9 MB 1.9 MB/s eta 0:01:01
--- ------------------------------------ 10.3/124.9 MB 1.9 MB/s eta 0:01:00
--- ------------------------------------ 10.3/124.9 MB 1.9 MB/s eta 0:01:00
--- ------------------------------------ 10.4/124.9 MB 2.0 MB/s eta 0:00:59
--- ------------------------------------ 10.6/124.9 MB 2.0 MB/s eta 0:00:57
--- ------------------------------------ 10.7/124.9 MB 2.1 MB/s eta 0:00:56
--- ------------------------------------ 10.9/124.9 MB 2.1 MB/s eta 0:00:56
--- ------------------------------------ 11.1/124.9 MB 2.1 MB/s eta 0:00:54
--- ------------------------------------ 11.2/124.9 MB 2.1 MB/s eta 0:00:54
--- ------------------------------------ 11.4/124.9 MB 2.2 MB/s eta 0:00:53
--- ------------------------------------ 11.5/124.9 MB 2.2 MB/s eta 0:00:53
--- ------------------------------------ 11.6/124.9 MB 2.2 MB/s eta 0:00:52
--- ------------------------------------ 11.8/124.9 MB 2.2 MB/s eta 0:00:51
--- ------------------------------------ 11.9/124.9 MB 2.2 MB/s eta 0:00:51
--- ------------------------------------ 12.1/124.9 MB 2.3 MB/s eta 0:00:50
--- ------------------------------------ 12.2/124.9 MB 2.3 MB/s eta 0:00:49
--- ------------------------------------ 12.4/124.9 MB 2.3 MB/s eta 0:00:49
---- ----------------------------------- 12.6/124.9 MB 2.4 MB/s eta 0:00:48
---- ----------------------------------- 12.8/124.9 MB 2.4 MB/s eta 0:00:47
---- ----------------------------------- 12.9/124.9 MB 2.4 MB/s eta 0:00:47
---- ----------------------------------- 13.0/124.9 MB 2.4 MB/s eta 0:00:47
---- ----------------------------------- 13.2/124.9 MB 2.5 MB/s eta 0:00:45
---- ----------------------------------- 13.4/124.9 MB 2.5 MB/s eta 0:00:44
---- ----------------------------------- 13.5/124.9 MB 2.6 MB/s eta 0:00:44
---- ----------------------------------- 13.7/124.9 MB 2.7 MB/s eta 0:00:42
---- ----------------------------------- 13.9/124.9 MB 2.7 MB/s eta 0:00:42
---- ----------------------------------- 14.0/124.9 MB 2.7 MB/s eta 0:00:41
---- ----------------------------------- 14.2/124.9 MB 2.7 MB/s eta 0:00:41
---- ----------------------------------- 14.4/124.9 MB 2.8 MB/s eta 0:00:40
---- ----------------------------------- 14.6/124.9 MB 2.8 MB/s eta 0:00:40
---- ----------------------------------- 14.7/124.9 MB 2.8 MB/s eta 0:00:40
---- ----------------------------------- 14.8/124.9 MB 2.9 MB/s eta 0:00:39
---- ----------------------------------- 15.0/124.9 MB 2.9 MB/s eta 0:00:38
---- ----------------------------------- 15.2/124.9 MB 3.0 MB/s eta 0:00:37
---- ----------------------------------- 15.3/124.9 MB 3.2 MB/s eta 0:00:35
---- ----------------------------------- 15.4/124.9 MB 3.2 MB/s eta 0:00:34
----- ---------------------------------- 15.7/124.9 MB 3.4 MB/s eta 0:00:33
----- ---------------------------------- 15.9/124.9 MB 3.5 MB/s eta 0:00:31
----- ---------------------------------- 16.1/124.9 MB 3.6 MB/s eta 0:00:31
----- ---------------------------------- 16.2/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 16.4/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 16.6/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 16.7/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 16.9/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 17.0/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 17.1/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 17.4/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 17.5/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 17.6/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 17.8/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 18.0/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 18.1/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 18.3/124.9 MB 3.6 MB/s eta 0:00:30
----- ---------------------------------- 18.5/124.9 MB 3.7 MB/s eta 0:00:30
----- ---------------------------------- 18.6/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 18.8/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 18.9/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.1/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.3/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.4/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.6/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.7/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 19.9/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 20.1/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 20.1/124.9 MB 3.6 MB/s eta 0:00:30
------ --------------------------------- 20.2/124.9 MB 3.5 MB/s eta 0:00:30
------ --------------------------------- 20.4/124.9 MB 3.5 MB/s eta 0:00:30
------ --------------------------------- 20.6/124.9 MB 3.6 MB/s eta 0:00:30
------ --------------------------------- 20.8/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 20.9/124.9 MB 3.7 MB/s eta 0:00:29
------ --------------------------------- 21.1/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 21.2/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 21.4/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 21.5/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 21.5/124.9 MB 3.6 MB/s eta 0:00:29
------ --------------------------------- 21.6/124.9 MB 3.5 MB/s eta 0:00:30
------ --------------------------------- 21.6/124.9 MB 3.5 MB/s eta 0:00:30
------ --------------------------------- 21.7/124.9 MB 3.5 MB/s eta 0:00:30
------ --------------------------------- 21.8/124.9 MB 3.5 MB/s eta 0:00:30
------- -------------------------------- 21.9/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 22.0/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 22.2/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 22.3/124.9 MB 3.4 MB/s eta 0:00:30
------- -------------------------------- 22.5/124.9 MB 3.4 MB/s eta 0:00:30
------- -------------------------------- 22.7/124.9 MB 3.4 MB/s eta 0:00:30
------- -------------------------------- 22.8/124.9 MB 3.4 MB/s eta 0:00:30
------- -------------------------------- 22.9/124.9 MB 3.4 MB/s eta 0:00:30
------- -------------------------------- 23.0/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 23.0/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 23.1/124.9 MB 3.3 MB/s eta 0:00:31
------- -------------------------------- 23.3/124.9 MB 3.4 MB/s eta 0:00:31
------- -------------------------------- 23.4/124.9 MB 3.3 MB/s eta 0:00:31
------- -------------------------------- 23.4/124.9 MB 3.3 MB/s eta 0:00:31
------- -------------------------------- 23.4/124.9 MB 3.3 MB/s eta 0:00:31
------- -------------------------------- 23.5/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 23.5/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 23.7/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 23.8/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 23.9/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.1/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.3/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.5/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.6/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.8/124.9 MB 3.2 MB/s eta 0:00:32
------- -------------------------------- 24.8/124.9 MB 3.1 MB/s eta 0:00:32
------- -------------------------------- 25.0/124.9 MB 3.1 MB/s eta 0:00:33
------- -------------------------------- 25.0/124.9 MB 3.1 MB/s eta 0:00:33
-------- ------------------------------- 25.1/124.9 MB 3.1 MB/s eta 0:00:33
-------- ------------------------------- 25.2/124.9 MB 3.1 MB/s eta 0:00:33
-------- ------------------------------- 25.3/124.9 MB 3.1 MB/s eta 0:00:33
-------- ------------------------------- 25.4/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 25.5/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 25.6/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 25.8/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 26.0/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 26.1/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 26.3/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 26.3/124.9 MB 3.0 MB/s eta 0:00:33
-------- ------------------------------- 26.4/124.9 MB 3.0 MB/s eta 0:00:34
-------- ------------------------------- 26.6/124.9 MB 3.0 MB/s eta 0:00:34
-------- ------------------------------- 26.8/124.9 MB 3.0 MB/s eta 0:00:34
-------- ------------------------------- 26.8/124.9 MB 3.0 MB/s eta 0:00:34
-------- ------------------------------- 26.8/124.9 MB 3.0 MB/s eta 0:00:34
-------- ------------------------------- 26.9/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.0/124.9 MB 2.9 MB/s eta 0:00:35
-------- ------------------------------- 27.2/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.3/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.3/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.3/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.3/124.9 MB 2.9 MB/s eta 0:00:34
-------- ------------------------------- 27.5/124.9 MB 2.8 MB/s eta 0:00:35
-------- ------------------------------- 27.6/124.9 MB 2.8 MB/s eta 0:00:35
-------- ------------------------------- 27.8/124.9 MB 2.8 MB/s eta 0:00:35
-------- ------------------------------- 27.8/124.9 MB 2.8 MB/s eta 0:00:35
-------- ------------------------------- 28.0/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.1/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.3/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.4/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.5/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.7/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 28.8/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.0/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.2/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.3/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.4/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.6/124.9 MB 2.7 MB/s eta 0:00:35
--------- ------------------------------ 29.7/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 29.9/124.9 MB 2.7 MB/s eta 0:00:35
--------- ------------------------------ 30.1/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 30.3/124.9 MB 2.8 MB/s eta 0:00:35
--------- ------------------------------ 30.5/124.9 MB 2.8 MB/s eta 0:00:34
--------- ------------------------------ 30.5/124.9 MB 2.8 MB/s eta 0:00:34
--------- ------------------------------ 30.7/124.9 MB 2.8 MB/s eta 0:00:34
--------- ------------------------------ 30.9/124.9 MB 2.8 MB/s eta 0:00:34
--------- ------------------------------ 31.0/124.9 MB 2.8 MB/s eta 0:00:34
--------- ------------------------------ 31.2/124.9 MB 2.8 MB/s eta 0:00:34
---------- ----------------------------- 31.4/124.9 MB 2.8 MB/s eta 0:00:34
---------- ----------------------------- 31.5/124.9 MB 2.8 MB/s eta 0:00:34
---------- ----------------------------- 31.5/124.9 MB 2.8 MB/s eta 0:00:34
---------- ----------------------------- 31.7/124.9 MB 2.8 MB/s eta 0:00:33
---------- ----------------------------- 31.8/124.9 MB 2.8 MB/s eta 0:00:34
---------- ----------------------------- 31.9/124.9 MB 2.9 MB/s eta 0:00:33
---------- ----------------------------- 32.1/124.9 MB 2.9 MB/s eta 0:00:33
---------- ----------------------------- 32.2/124.9 MB 2.9 MB/s eta 0:00:33
---------- ----------------------------- 32.4/124.9 MB 2.9 MB/s eta 0:00:32
---------- ----------------------------- 32.5/124.9 MB 2.9 MB/s eta 0:00:33
---------- ----------------------------- 32.7/124.9 MB 2.9 MB/s eta 0:00:32
---------- ----------------------------- 33.0/124.9 MB 2.9 MB/s eta 0:00:32
---------- ----------------------------- 33.2/124.9 MB 2.9 MB/s eta 0:00:32
---------- ----------------------------- 33.2/124.9 MB 3.0 MB/s eta 0:00:31
---------- ----------------------------- 33.4/124.9 MB 3.0 MB/s eta 0:00:31
---------- ----------------------------- 33.6/124.9 MB 3.1 MB/s eta 0:00:30
---------- ----------------------------- 33.8/124.9 MB 3.1 MB/s eta 0:00:30
---------- ----------------------------- 33.9/124.9 MB 3.1 MB/s eta 0:00:30
---------- ----------------------------- 34.1/124.9 MB 3.1 MB/s eta 0:00:30
---------- ----------------------------- 34.2/124.9 MB 3.1 MB/s eta 0:00:30
---------- ----------------------------- 34.3/124.9 MB 3.1 MB/s eta 0:00:30
----------- ---------------------------- 34.5/124.9 MB 3.1 MB/s eta 0:00:29
----------- ---------------------------- 34.7/124.9 MB 3.1 MB/s eta 0:00:29
----------- ---------------------------- 34.8/124.9 MB 3.1 MB/s eta 0:00:29
----------- ---------------------------- 35.0/124.9 MB 3.1 MB/s eta 0:00:29
----------- ---------------------------- 35.3/124.9 MB 3.2 MB/s eta 0:00:28
----------- ---------------------------- 35.5/124.9 MB 3.2 MB/s eta 0:00:28
----------- ---------------------------- 35.7/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 35.8/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 35.9/124.9 MB 3.3 MB/s eta 0:00:28
----------- ---------------------------- 36.1/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 36.3/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 36.4/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 36.6/124.9 MB 3.3 MB/s eta 0:00:27
----------- ---------------------------- 36.8/124.9 MB 3.4 MB/s eta 0:00:27
----------- ---------------------------- 36.9/124.9 MB 3.4 MB/s eta 0:00:27
----------- ---------------------------- 37.1/124.9 MB 3.5 MB/s eta 0:00:26
----------- ---------------------------- 37.2/124.9 MB 3.5 MB/s eta 0:00:26
------------ --------------------------- 37.5/124.9 MB 3.5 MB/s eta 0:00:25
------------ --------------------------- 37.6/124.9 MB 3.7 MB/s eta 0:00:24
------------ --------------------------- 37.7/124.9 MB 3.6 MB/s eta 0:00:24
------------ --------------------------- 37.9/124.9 MB 3.6 MB/s eta 0:00:24
------------ --------------------------- 38.1/124.9 MB 3.7 MB/s eta 0:00:24
------------ --------------------------- 38.2/124.9 MB 3.7 MB/s eta 0:00:24
------------ --------------------------- 38.4/124.9 MB 3.7 MB/s eta 0:00:24
------------ --------------------------- 38.6/124.9 MB 3.7 MB/s eta 0:00:24
------------ --------------------------- 38.9/124.9 MB 3.8 MB/s eta 0:00:23
------------ --------------------------- 39.1/124.9 MB 3.8 MB/s eta 0:00:23
------------ --------------------------- 39.3/124.9 MB 3.8 MB/s eta 0:00:23
------------ --------------------------- 39.5/124.9 MB 3.9 MB/s eta 0:00:23
------------ --------------------------- 39.7/124.9 MB 3.9 MB/s eta 0:00:22
------------ --------------------------- 39.9/124.9 MB 3.9 MB/s eta 0:00:22
------------ --------------------------- 40.1/124.9 MB 3.9 MB/s eta 0:00:22
------------ --------------------------- 40.3/124.9 MB 3.9 MB/s eta 0:00:22
------------ --------------------------- 40.4/124.9 MB 3.9 MB/s eta 0:00:22
------------- -------------------------- 40.7/124.9 MB 3.9 MB/s eta 0:00:22
------------- -------------------------- 40.9/124.9 MB 3.9 MB/s eta 0:00:22
------------- -------------------------- 41.1/124.9 MB 4.0 MB/s eta 0:00:22
------------- -------------------------- 41.3/124.9 MB 4.0 MB/s eta 0:00:22
------------- -------------------------- 41.4/124.9 MB 3.9 MB/s eta 0:00:22
------------- -------------------------- 41.7/124.9 MB 4.0 MB/s eta 0:00:21
------------- -------------------------- 41.9/124.9 MB 4.1 MB/s eta 0:00:21
------------- -------------------------- 42.1/124.9 MB 4.2 MB/s eta 0:00:20
------------- -------------------------- 42.4/124.9 MB 4.2 MB/s eta 0:00:20
------------- -------------------------- 42.6/124.9 MB 4.3 MB/s eta 0:00:20
------------- -------------------------- 42.8/124.9 MB 4.3 MB/s eta 0:00:20
------------- -------------------------- 42.9/124.9 MB 4.3 MB/s eta 0:00:20
------------- -------------------------- 43.2/124.9 MB 4.3 MB/s eta 0:00:20
------------- -------------------------- 43.4/124.9 MB 4.3 MB/s eta 0:00:20
------------- -------------------------- 43.6/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 43.7/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 43.9/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 44.0/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 44.2/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 44.3/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 44.6/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 44.8/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 45.0/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 45.2/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 45.5/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 45.6/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 45.9/124.9 MB 4.4 MB/s eta 0:00:18
-------------- ------------------------- 46.1/124.9 MB 4.4 MB/s eta 0:00:18
-------------- ------------------------- 46.1/124.9 MB 4.4 MB/s eta 0:00:18
-------------- ------------------------- 46.2/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 46.2/124.9 MB 4.4 MB/s eta 0:00:19
-------------- ------------------------- 46.2/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 46.2/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 46.2/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 46.2/124.9 MB 4.3 MB/s eta 0:00:19
-------------- ------------------------- 46.3/124.9 MB 4.0 MB/s eta 0:00:20
-------------- ------------------------- 46.4/124.9 MB 4.0 MB/s eta 0:00:20
-------------- ------------------------- 46.4/124.9 MB 4.0 MB/s eta 0:00:20
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.9 MB/s eta 0:00:21
-------------- ------------------------- 46.6/124.9 MB 3.5 MB/s eta 0:00:23
-------------- ------------------------- 46.7/124.9 MB 3.5 MB/s eta 0:00:23
--------------- ------------------------ 46.9/124.9 MB 3.5 MB/s eta 0:00:23
--------------- ------------------------ 47.0/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 47.3/124.9 MB 3.5 MB/s eta 0:00:23
--------------- ------------------------ 47.4/124.9 MB 3.5 MB/s eta 0:00:23
--------------- ------------------------ 47.4/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 47.6/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 47.8/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 48.0/124.9 MB 3.5 MB/s eta 0:00:23
--------------- ------------------------ 48.1/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 48.4/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 48.6/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 48.7/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 48.9/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.0/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.3/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.4/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.5/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.7/124.9 MB 3.4 MB/s eta 0:00:23
--------------- ------------------------ 49.9/124.9 MB 3.3 MB/s eta 0:00:23
--------------- ------------------------ 49.9/124.9 MB 3.3 MB/s eta 0:00:23
---------------- ----------------------- 50.2/124.9 MB 3.3 MB/s eta 0:00:23
---------------- ----------------------- 50.4/124.9 MB 3.4 MB/s eta 0:00:23
---------------- ----------------------- 50.7/124.9 MB 3.4 MB/s eta 0:00:23
---------------- ----------------------- 51.0/124.9 MB 3.4 MB/s eta 0:00:22
---------------- ----------------------- 51.2/124.9 MB 3.4 MB/s eta 0:00:22
---------------- ----------------------- 51.4/124.9 MB 3.4 MB/s eta 0:00:22
---------------- ----------------------- 51.6/124.9 MB 3.4 MB/s eta 0:00:22
---------------- ----------------------- 51.8/124.9 MB 3.4 MB/s eta 0:00:22
---------------- ----------------------- 51.8/124.9 MB 3.3 MB/s eta 0:00:22
---------------- ----------------------- 51.9/124.9 MB 3.3 MB/s eta 0:00:22
---------------- ----------------------- 52.1/124.9 MB 3.3 MB/s eta 0:00:23
---------------- ----------------------- 52.3/124.9 MB 3.3 MB/s eta 0:00:22
---------------- ----------------------- 52.4/124.9 MB 3.3 MB/s eta 0:00:22
---------------- ----------------------- 52.6/124.9 MB 3.3 MB/s eta 0:00:23
---------------- ----------------------- 52.8/124.9 MB 3.3 MB/s eta 0:00:22
---------------- ----------------------- 53.0/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 53.2/124.9 MB 3.3 MB/s eta 0:00:23
----------------- ---------------------- 53.3/124.9 MB 3.2 MB/s eta 0:00:23
----------------- ---------------------- 53.6/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 53.8/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 54.0/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 54.2/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 54.4/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 54.7/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 54.9/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 55.1/124.9 MB 3.3 MB/s eta 0:00:21
----------------- ---------------------- 55.2/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 55.3/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 55.4/124.9 MB 3.3 MB/s eta 0:00:22
----------------- ---------------------- 55.6/124.9 MB 3.2 MB/s eta 0:00:22
----------------- ---------------------- 55.8/124.9 MB 3.2 MB/s eta 0:00:22
----------------- ---------------------- 55.9/124.9 MB 3.2 MB/s eta 0:00:22
----------------- ---------------------- 56.1/124.9 MB 3.2 MB/s eta 0:00:22
------------------ --------------------- 56.3/124.9 MB 3.2 MB/s eta 0:00:22
------------------ --------------------- 56.5/124.9 MB 3.5 MB/s eta 0:00:20
------------------ --------------------- 56.7/124.9 MB 3.6 MB/s eta 0:00:19
------------------ --------------------- 56.9/124.9 MB 4.1 MB/s eta 0:00:17
------------------ --------------------- 57.1/124.9 MB 4.1 MB/s eta 0:00:17
------------------ --------------------- 57.3/124.9 MB 4.1 MB/s eta 0:00:17
------------------ --------------------- 57.5/124.9 MB 4.1 MB/s eta 0:00:17
------------------ --------------------- 57.7/124.9 MB 4.2 MB/s eta 0:00:17
------------------ --------------------- 57.9/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 58.1/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 58.4/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 58.5/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 58.7/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 58.9/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 59.0/124.9 MB 4.3 MB/s eta 0:00:16
------------------ --------------------- 59.1/124.9 MB 4.2 MB/s eta 0:00:16
------------------ --------------------- 59.3/124.9 MB 4.2 MB/s eta 0:00:16
------------------ --------------------- 59.3/124.9 MB 4.2 MB/s eta 0:00:16
------------------- -------------------- 59.5/124.9 MB 4.2 MB/s eta 0:00:16
------------------- -------------------- 59.6/124.9 MB 4.2 MB/s eta 0:00:16
------------------- -------------------- 59.7/124.9 MB 4.1 MB/s eta 0:00:16
------------------- -------------------- 59.8/124.9 MB 4.1 MB/s eta 0:00:16
------------------- -------------------- 60.0/124.9 MB 4.1 MB/s eta 0:00:16
------------------- -------------------- 60.1/124.9 MB 4.1 MB/s eta 0:00:16
------------------- -------------------- 60.1/124.9 MB 4.0 MB/s eta 0:00:17
------------------- -------------------- 60.3/124.9 MB 4.0 MB/s eta 0:00:16
------------------- -------------------- 60.4/124.9 MB 4.0 MB/s eta 0:00:17
------------------- -------------------- 60.5/124.9 MB 4.0 MB/s eta 0:00:17
------------------- -------------------- 60.8/124.9 MB 4.0 MB/s eta 0:00:17
------------------- -------------------- 60.8/124.9 MB 4.0 MB/s eta 0:00:17
------------------- -------------------- 61.0/124.9 MB 3.9 MB/s eta 0:00:17
------------------- -------------------- 61.1/124.9 MB 3.9 MB/s eta 0:00:17
------------------- -------------------- 61.3/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 61.4/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 61.6/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 61.8/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 62.0/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 62.1/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 62.2/124.9 MB 3.8 MB/s eta 0:00:17
------------------- -------------------- 62.4/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 62.5/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 62.7/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 62.8/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 63.0/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 63.2/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 63.4/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 63.6/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 63.8/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 64.0/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 64.1/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 64.3/124.9 MB 3.8 MB/s eta 0:00:17
-------------------- ------------------- 64.6/124.9 MB 3.8 MB/s eta 0:00:16
-------------------- ------------------- 64.6/124.9 MB 3.8 MB/s eta 0:00:16
-------------------- ------------------- 64.8/124.9 MB 3.7 MB/s eta 0:00:17
-------------------- ------------------- 64.9/124.9 MB 3.7 MB/s eta 0:00:17
-------------------- ------------------- 65.0/124.9 MB 3.7 MB/s eta 0:00:17
-------------------- ------------------- 65.2/124.9 MB 3.7 MB/s eta 0:00:17
-------------------- ------------------- 65.3/124.9 MB 3.6 MB/s eta 0:00:17
-------------------- ------------------- 65.4/124.9 MB 3.7 MB/s eta 0:00:17
-------------------- ------------------- 65.6/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 65.7/124.9 MB 3.7 MB/s eta 0:00:17
--------------------- ------------------ 65.9/124.9 MB 3.7 MB/s eta 0:00:17
--------------------- ------------------ 65.9/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 66.1/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 66.3/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 66.4/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 66.4/124.9 MB 3.5 MB/s eta 0:00:17
--------------------- ------------------ 66.5/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 66.8/124.9 MB 3.5 MB/s eta 0:00:17
--------------------- ------------------ 67.0/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 67.3/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 67.5/124.9 MB 3.6 MB/s eta 0:00:17
--------------------- ------------------ 67.7/124.9 MB 3.6 MB/s eta 0:00:16
--------------------- ------------------ 68.0/124.9 MB 3.6 MB/s eta 0:00:16
--------------------- ------------------ 68.2/124.9 MB 3.6 MB/s eta 0:00:16
--------------------- ------------------ 68.5/124.9 MB 3.6 MB/s eta 0:00:16
--------------------- ------------------ 68.7/124.9 MB 3.6 MB/s eta 0:00:16
---------------------- ----------------- 69.0/124.9 MB 3.6 MB/s eta 0:00:16
---------------------- ----------------- 69.2/124.9 MB 3.7 MB/s eta 0:00:16
---------------------- ----------------- 69.4/124.9 MB 3.7 MB/s eta 0:00:16
---------------------- ----------------- 69.6/124.9 MB 3.8 MB/s eta 0:00:15
---------------------- ----------------- 69.7/124.9 MB 3.7 MB/s eta 0:00:15
---------------------- ----------------- 70.1/124.9 MB 3.9 MB/s eta 0:00:15
---------------------- ----------------- 70.3/124.9 MB 3.9 MB/s eta 0:00:15
---------------------- ----------------- 70.5/124.9 MB 4.0 MB/s eta 0:00:14
---------------------- ----------------- 70.6/124.9 MB 4.0 MB/s eta 0:00:14
---------------------- ----------------- 70.9/124.9 MB 4.0 MB/s eta 0:00:14
---------------------- ----------------- 71.2/124.9 MB 4.1 MB/s eta 0:00:13
---------------------- ----------------- 71.3/124.9 MB 4.1 MB/s eta 0:00:13
---------------------- ----------------- 71.6/124.9 MB 4.2 MB/s eta 0:00:13
---------------------- ----------------- 71.7/124.9 MB 4.2 MB/s eta 0:00:13
----------------------- ---------------- 71.9/124.9 MB 4.2 MB/s eta 0:00:13
----------------------- ---------------- 72.0/124.9 MB 4.2 MB/s eta 0:00:13
----------------------- ---------------- 72.3/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.6/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.8/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 72.9/124.9 MB 4.3 MB/s eta 0:00:13
----------------------- ---------------- 73.0/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 73.3/124.9 MB 4.0 MB/s eta 0:00:14
----------------------- ---------------- 73.3/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 73.5/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 73.6/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 73.8/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 74.1/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 74.3/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.5/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.5/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.7/124.9 MB 3.9 MB/s eta 0:00:14
----------------------- ---------------- 74.8/124.9 MB 3.8 MB/s eta 0:00:14
----------------------- ---------------- 74.9/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.9/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.9/124.9 MB 3.9 MB/s eta 0:00:13
----------------------- ---------------- 74.9/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 75.1/124.9 MB 3.7 MB/s eta 0:00:14
------------------------ --------------- 75.2/124.9 MB 3.7 MB/s eta 0:00:14
------------------------ --------------- 75.4/124.9 MB 3.7 MB/s eta 0:00:14
------------------------ --------------- 75.6/124.9 MB 3.7 MB/s eta 0:00:14
------------------------ --------------- 75.7/124.9 MB 3.8 MB/s eta 0:00:14
------------------------ --------------- 76.0/124.9 MB 3.8 MB/s eta 0:00:14
------------------------ --------------- 76.2/124.9 MB 3.8 MB/s eta 0:00:13
------------------------ --------------- 76.3/124.9 MB 3.8 MB/s eta 0:00:13
------------------------ --------------- 76.4/124.9 MB 3.8 MB/s eta 0:00:13
------------------------ --------------- 76.7/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 76.9/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 77.1/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 77.3/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 77.5/124.9 MB 3.8 MB/s eta 0:00:13
------------------------ --------------- 77.7/124.9 MB 3.9 MB/s eta 0:00:13
------------------------ --------------- 77.9/124.9 MB 3.9 MB/s eta 0:00:13
------------------------- -------------- 78.1/124.9 MB 3.9 MB/s eta 0:00:13
------------------------- -------------- 78.3/124.9 MB 3.8 MB/s eta 0:00:13
------------------------- -------------- 78.4/124.9 MB 3.8 MB/s eta 0:00:13
------------------------- -------------- 78.5/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 78.7/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 79.0/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 79.3/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 79.4/124.9 MB 3.8 MB/s eta 0:00:13
------------------------- -------------- 79.6/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 79.8/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 79.9/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 80.2/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 80.3/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 80.6/124.9 MB 3.7 MB/s eta 0:00:12
------------------------- -------------- 80.7/124.9 MB 3.7 MB/s eta 0:00:13
------------------------- -------------- 81.0/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 81.2/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 81.5/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 81.7/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 82.0/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 82.2/124.9 MB 3.8 MB/s eta 0:00:12
-------------------------- ------------- 82.5/124.9 MB 3.8 MB/s eta 0:00:12
-------------------------- ------------- 82.6/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 82.8/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 83.0/124.9 MB 3.7 MB/s eta 0:00:12
-------------------------- ------------- 83.3/124.9 MB 4.1 MB/s eta 0:00:11
-------------------------- ------------- 83.5/124.9 MB 4.1 MB/s eta 0:00:11
-------------------------- ------------- 83.7/124.9 MB 4.2 MB/s eta 0:00:10
-------------------------- ------------- 84.0/124.9 MB 4.3 MB/s eta 0:00:10
-------------------------- ------------- 84.2/124.9 MB 4.3 MB/s eta 0:00:10
--------------------------- ------------ 84.4/124.9 MB 4.3 MB/s eta 0:00:10
--------------------------- ------------ 84.5/124.9 MB 4.2 MB/s eta 0:00:10
--------------------------- ------------ 84.7/124.9 MB 4.2 MB/s eta 0:00:10
--------------------------- ------------ 84.9/124.9 MB 4.3 MB/s eta 0:00:10
--------------------------- ------------ 85.1/124.9 MB 4.3 MB/s eta 0:00:10
--------------------------- ------------ 85.3/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 85.4/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 85.6/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 85.8/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 85.9/124.9 MB 4.5 MB/s eta 0:00:09
--------------------------- ------------ 86.1/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 86.2/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 86.5/124.9 MB 4.6 MB/s eta 0:00:09
--------------------------- ------------ 86.7/124.9 MB 4.7 MB/s eta 0:00:09
--------------------------- ------------ 86.9/124.9 MB 4.7 MB/s eta 0:00:09
--------------------------- ------------ 87.0/124.9 MB 4.7 MB/s eta 0:00:09
--------------------------- ------------ 87.3/124.9 MB 4.7 MB/s eta 0:00:09
---------------------------- ----------- 87.5/124.9 MB 4.7 MB/s eta 0:00:08
---------------------------- ----------- 87.7/124.9 MB 4.6 MB/s eta 0:00:09
---------------------------- ----------- 87.8/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 88.1/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 88.2/124.9 MB 4.7 MB/s eta 0:00:08
---------------------------- ----------- 88.4/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 88.5/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 88.5/124.9 MB 4.5 MB/s eta 0:00:09
---------------------------- ----------- 88.8/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 89.0/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 89.2/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 89.4/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 89.7/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 89.9/124.9 MB 4.6 MB/s eta 0:00:08
---------------------------- ----------- 90.2/124.9 MB 4.7 MB/s eta 0:00:08
---------------------------- ----------- 90.4/124.9 MB 4.7 MB/s eta 0:00:08
----------------------------- ---------- 90.6/124.9 MB 4.7 MB/s eta 0:00:08
----------------------------- ---------- 90.9/124.9 MB 4.7 MB/s eta 0:00:08
----------------------------- ---------- 91.2/124.9 MB 4.8 MB/s eta 0:00:08
----------------------------- ---------- 91.4/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 91.6/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 91.9/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 92.1/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 92.3/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 92.5/124.9 MB 4.7 MB/s eta 0:00:07
----------------------------- ---------- 92.8/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 93.1/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 93.2/124.9 MB 4.8 MB/s eta 0:00:07
----------------------------- ---------- 93.5/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 93.8/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 94.0/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 94.1/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 94.4/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 94.6/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 94.8/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 94.9/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 95.0/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 95.2/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 95.4/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 95.5/124.9 MB 4.7 MB/s eta 0:00:07
------------------------------ --------- 95.9/124.9 MB 4.8 MB/s eta 0:00:07
------------------------------ --------- 96.1/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------ --------- 96.3/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------ --------- 96.6/124.9 MB 4.9 MB/s eta 0:00:06
------------------------------ --------- 96.7/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 97.0/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 97.1/124.9 MB 4.7 MB/s eta 0:00:06
------------------------------- -------- 97.3/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 97.6/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 97.8/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 97.9/124.9 MB 4.9 MB/s eta 0:00:06
------------------------------- -------- 98.1/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 98.3/124.9 MB 4.8 MB/s eta 0:00:06
------------------------------- -------- 98.6/124.9 MB 4.9 MB/s eta 0:00:06
------------------------------- -------- 98.8/124.9 MB 5.1 MB/s eta 0:00:06
------------------------------- -------- 99.1/124.9 MB 5.1 MB/s eta 0:00:06
------------------------------- -------- 99.3/124.9 MB 5.0 MB/s eta 0:00:06
------------------------------- -------- 99.5/124.9 MB 5.0 MB/s eta 0:00:06
------------------------------- -------- 99.7/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 100.0/124.9 MB 5.1 MB/s eta 0:00:05
-------------------------------- ------- 100.2/124.9 MB 5.1 MB/s eta 0:00:05
-------------------------------- ------- 100.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 100.7/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 101.0/124.9 MB 5.1 MB/s eta 0:00:05
-------------------------------- ------- 101.2/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 101.3/124.9 MB 5.1 MB/s eta 0:00:05
-------------------------------- ------- 101.5/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 101.8/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 101.9/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.2/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 5.0 MB/s eta 0:00:05
-------------------------------- ------- 102.4/124.9 MB 4.4 MB/s eta 0:00:06
-------------------------------- ------- 102.5/124.9 MB 4.4 MB/s eta 0:00:06
-------------------------------- ------- 102.6/124.9 MB 4.3 MB/s eta 0:00:06
-------------------------------- ------- 102.6/124.9 MB 4.3 MB/s eta 0:00:06
-------------------------------- ------- 102.9/124.9 MB 4.2 MB/s eta 0:00:06
-------------------------------- ------- 103.0/124.9 MB 4.2 MB/s eta 0:00:06
--------------------------------- ------ 103.3/124.9 MB 4.2 MB/s eta 0:00:06
--------------------------------- ------ 103.5/124.9 MB 4.3 MB/s eta 0:00:06
--------------------------------- ------ 103.8/124.9 MB 4.3 MB/s eta 0:00:05
--------------------------------- ------ 104.1/124.9 MB 4.3 MB/s eta 0:00:05
--------------------------------- ------ 104.3/124.9 MB 4.3 MB/s eta 0:00:05
--------------------------------- ------ 104.5/124.9 MB 4.3 MB/s eta 0:00:05
--------------------------------- ------ 104.7/124.9 MB 4.3 MB/s eta 0:00:05
--------------------------------- ------ 104.8/124.9 MB 4.2 MB/s eta 0:00:05
--------------------------------- ------ 105.0/124.9 MB 4.2 MB/s eta 0:00:05
--------------------------------- ------ 105.1/124.9 MB 4.2 MB/s eta 0:00:05
--------------------------------- ------ 105.1/124.9 MB 4.2 MB/s eta 0:00:05
--------------------------------- ------ 105.1/124.9 MB 4.2 MB/s eta 0:00:05
--------------------------------- ------ 105.2/124.9 MB 4.1 MB/s eta 0:00:05
--------------------------------- ------ 105.3/124.9 MB 4.0 MB/s eta 0:00:05
--------------------------------- ------ 105.5/124.9 MB 4.0 MB/s eta 0:00:05
--------------------------------- ------ 105.5/124.9 MB 4.0 MB/s eta 0:00:05
--------------------------------- ------ 105.6/124.9 MB 4.0 MB/s eta 0:00:05
--------------------------------- ------ 105.8/124.9 MB 4.0 MB/s eta 0:00:05
--------------------------------- ------ 105.9/124.9 MB 3.9 MB/s eta 0:00:05
--------------------------------- ------ 106.0/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 106.2/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 106.3/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 106.6/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 106.8/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 107.0/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 107.1/124.9 MB 3.9 MB/s eta 0:00:05
---------------------------------- ----- 107.3/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 107.5/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 107.6/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 107.7/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 107.9/124.9 MB 3.8 MB/s eta 0:00:05
---------------------------------- ----- 108.1/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.2/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.4/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.5/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.7/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.7/124.9 MB 3.7 MB/s eta 0:00:05
---------------------------------- ----- 108.9/124.9 MB 3.6 MB/s eta 0:00:05
---------------------------------- ----- 109.0/124.9 MB 3.6 MB/s eta 0:00:05
---------------------------------- ----- 109.3/124.9 MB 3.6 MB/s eta 0:00:05
----------------------------------- ---- 109.4/124.9 MB 3.6 MB/s eta 0:00:05
----------------------------------- ---- 109.6/124.9 MB 3.6 MB/s eta 0:00:05
----------------------------------- ---- 109.8/124.9 MB 3.6 MB/s eta 0:00:05
----------------------------------- ---- 109.9/124.9 MB 3.5 MB/s eta 0:00:05
----------------------------------- ---- 110.2/124.9 MB 3.6 MB/s eta 0:00:05
----------------------------------- ---- 110.3/124.9 MB 3.5 MB/s eta 0:00:05
----------------------------------- ---- 110.5/124.9 MB 3.5 MB/s eta 0:00:05
----------------------------------- ---- 110.7/124.9 MB 3.5 MB/s eta 0:00:05
----------------------------------- ---- 111.0/124.9 MB 3.5 MB/s eta 0:00:04
----------------------------------- ---- 111.0/124.9 MB 3.5 MB/s eta 0:00:04
----------------------------------- ---- 111.2/124.9 MB 3.4 MB/s eta 0:00:05
----------------------------------- ---- 111.4/124.9 MB 3.4 MB/s eta 0:00:04
----------------------------------- ---- 111.6/124.9 MB 3.5 MB/s eta 0:00:04
----------------------------------- ---- 111.8/124.9 MB 3.4 MB/s eta 0:00:04
----------------------------------- ---- 111.9/124.9 MB 3.4 MB/s eta 0:00:04
----------------------------------- ---- 112.0/124.9 MB 3.4 MB/s eta 0:00:04
----------------------------------- ---- 112.3/124.9 MB 3.4 MB/s eta 0:00:04
------------------------------------ --- 112.5/124.9 MB 3.4 MB/s eta 0:00:04
------------------------------------ --- 112.7/124.9 MB 3.7 MB/s eta 0:00:04
------------------------------------ --- 112.7/124.9 MB 3.7 MB/s eta 0:00:04
------------------------------------ --- 113.0/124.9 MB 3.8 MB/s eta 0:00:04
------------------------------------ --- 113.2/124.9 MB 3.8 MB/s eta 0:00:04
------------------------------------ --- 113.5/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 113.8/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 114.0/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 114.2/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 114.4/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 114.7/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 114.9/124.9 MB 3.8 MB/s eta 0:00:03
------------------------------------ --- 115.2/124.9 MB 3.9 MB/s eta 0:00:03
------------------------------------ --- 115.4/124.9 MB 4.0 MB/s eta 0:00:03
------------------------------------- -- 115.7/124.9 MB 4.1 MB/s eta 0:00:03
------------------------------------- -- 115.8/124.9 MB 4.2 MB/s eta 0:00:03
------------------------------------- -- 116.1/124.9 MB 4.2 MB/s eta 0:00:03
------------------------------------- -- 116.4/124.9 MB 4.3 MB/s eta 0:00:02
------------------------------------- -- 116.7/124.9 MB 4.3 MB/s eta 0:00:02
------------------------------------- -- 116.9/124.9 MB 4.4 MB/s eta 0:00:02
------------------------------------- -- 117.1/124.9 MB 4.4 MB/s eta 0:00:02
------------------------------------- -- 117.2/124.9 MB 4.3 MB/s eta 0:00:02
------------------------------------- -- 117.4/124.9 MB 4.4 MB/s eta 0:00:02
------------------------------------- -- 117.6/124.9 MB 4.3 MB/s eta 0:00:02
------------------------------------- -- 117.7/124.9 MB 4.3 MB/s eta 0:00:02
------------------------------------- -- 118.0/124.9 MB 4.4 MB/s eta 0:00:02
------------------------------------- -- 118.2/124.9 MB 4.4 MB/s eta 0:00:02
------------------------------------- -- 118.5/124.9 MB 4.5 MB/s eta 0:00:02
------------------------------------- -- 118.6/124.9 MB 4.5 MB/s eta 0:00:02
-------------------------------------- - 118.9/124.9 MB 4.5 MB/s eta 0:00:02
-------------------------------------- - 119.1/124.9 MB 4.6 MB/s eta 0:00:02
-------------------------------------- - 119.4/124.9 MB 4.6 MB/s eta 0:00:02
-------------------------------------- - 119.5/124.9 MB 4.6 MB/s eta 0:00:02
-------------------------------------- - 119.7/124.9 MB 4.6 MB/s eta 0:00:02
-------------------------------------- - 120.0/124.9 MB 4.6 MB/s eta 0:00:02
-------------------------------------- - 120.2/124.9 MB 4.7 MB/s eta 0:00:02
-------------------------------------- - 120.4/124.9 MB 4.7 MB/s eta 0:00:01
-------------------------------------- - 120.6/124.9 MB 4.7 MB/s eta 0:00:01
-------------------------------------- - 120.8/124.9 MB 4.8 MB/s eta 0:00:01
-------------------------------------- - 121.1/124.9 MB 4.8 MB/s eta 0:00:01
-------------------------------------- - 121.3/124.9 MB 4.8 MB/s eta 0:00:01
-------------------------------------- - 121.6/124.9 MB 4.9 MB/s eta 0:00:01
--------------------------------------- 121.9/124.9 MB 4.9 MB/s eta 0:00:01
--------------------------------------- 122.1/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 122.3/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 122.5/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 122.7/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 123.0/124.9 MB 5.1 MB/s eta 0:00:01
--------------------------------------- 123.2/124.9 MB 5.1 MB/s eta 0:00:01
--------------------------------------- 123.5/124.9 MB 5.1 MB/s eta 0:00:01
--------------------------------------- 123.7/124.9 MB 5.1 MB/s eta 0:00:01
--------------------------------------- 123.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.0/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.2/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.5/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.6/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.8/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
--------------------------------------- 124.9/124.9 MB 5.0 MB/s eta 0:00:01
---------------------------------------- 124.9/124.9 MB 3.5 MB/s eta 0:00:00
Installing collected packages: xgboost
Successfully installed xgboost-2.1.3
[notice] A new release of pip is available: 23.2.1 -> 24.3.1 [notice] To update, run: python.exe -m pip install --upgrade pip
In [4]:
import pandas as pd
from xgboost import XGBRegressor
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.decomposition import PCA
import numpy as np
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machine learning/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Scale the target variable (y) to range [0, 5] using MinMaxScaler
scaler_y = MinMaxScaler(feature_range=(0, 5))
y_scaled = scaler_y.fit_transform(y.values.reshape(-1, 1)).flatten()
# Standardize the features
scaler_X = StandardScaler()
X_scaled = scaler_X.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.99) # Preserve 95% of variance
X_pca = pca.fit_transform(X_scaled)
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_pca, y_scaled, test_size=0.2, random_state=42)
# XGBoost model
model = XGBRegressor(random_state=42, n_jobs=-1)
# Hyperparameter tuning grid
param_grid = {
'n_estimators': [100, 200],
'max_depth': [3, 6],
'learning_rate': [0.01, 0.1],
'subsample': [0.8, 1.0]
}
# Hyperparameter tuning
print(f"Training and hyperparameter tuning for XGBoost...")
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best XGBoost model: {grid_search.best_params_}")
# Evaluate the model on the test data
y_pred_scaled = best_model.predict(X_test)
# Clip predictions to the range [0, 5] to ensure valid outputs
y_pred_scaled_clipped = np.clip(y_pred_scaled, 0, 5)
# Evaluate performance metrics on the scaled target
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_scaled_clipped))
test_r2 = r2_score(y_test, y_pred_scaled_clipped)
print(f"\nTest RMSE (scaled): {test_rmse}")
print(f"Test R² (scaled): {test_r2}")
# Rescale the predictions and test target back to original range for final evaluation
y_pred_original = scaler_y.inverse_transform(y_pred_scaled_clipped.reshape(-1, 1)).flatten()
y_test_original = scaler_y.inverse_transform(y_test.reshape(-1, 1)).flatten()
original_rmse = np.sqrt(mean_squared_error(y_test_original, y_pred_original))
original_r2 = r2_score(y_test_original, y_pred_original)
print(f"\nTest RMSE (original): {original_rmse}")
print(f"Test R² (original): {original_r2}")
# LIME Explanation
print(f"\nLIME Explanation for XGBoost:")
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train,
training_labels=y_train,
mode='regression',
verbose=True,
feature_names=[f'PCA_{i+1}' for i in range(X_train.shape[1])],
feature_selection='auto'
)
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for XGBoost...
Best XGBoost model: {'learning_rate': 0.1, 'max_depth': 3, 'n_estimators': 200, 'subsample': 0.8}
Test RMSE (scaled): 0.5379931539011944
Test R² (scaled): 0.8863073328246962
Test RMSE (original): 0.5379931539011944
Test R² (original): 0.8863073328246962
LIME Explanation for XGBoost:
Intercept 2.2861861945768602
Prediction_local [4.61143288]
Right: 4.9445276
In [9]:
import pandas as pd
from sklearn.ensemble import AdaBoostRegressor
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.decomposition import PCA
import numpy as np
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machinelearning rajeev/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Scale the target variable (y) to range [0, 5] using MinMaxScaler
scaler_y = MinMaxScaler(feature_range=(0, 5))
y_scaled = scaler_y.fit_transform(y.values.reshape(-1, 1)).flatten()
# Standardize the features
scaler_X = StandardScaler()
X_scaled = scaler_X.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.99) # Preserve 99% of variance
X_pca = pca.fit_transform(X_scaled)
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_pca, y_scaled, test_size=0.2, random_state=42)
# AdaBoost model
model = AdaBoostRegressor(random_state=42)
# Hyperparameter tuning grid
param_grid = {
'n_estimators': [50, 100], # Number of boosting rounds
'learning_rate': [0.01, 0.1], # Learning rate
'loss': ['linear', 'square'] # Loss function options
}
# Hyperparameter tuning
print(f"Training and hyperparameter tuning for AdaBoost...")
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best AdaBoost model: {grid_search.best_params_}")
# Evaluate the model on the test data
y_pred_scaled = best_model.predict(X_test)
# Clip predictions to the range [0, 5] to ensure valid outputs
y_pred_scaled_clipped = np.clip(y_pred_scaled, 0, 5)
# Evaluate performance metrics on the scaled target
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_scaled_clipped))
test_r2 = r2_score(y_test, y_pred_scaled_clipped)
print(f"\nTest RMSE (scaled): {test_rmse}")
print(f"Test R² (scaled): {test_r2}")
# Rescale the predictions and test target back to original range for final evaluation
y_pred_original = scaler_y.inverse_transform(y_pred_scaled_clipped.reshape(-1, 1)).flatten()
y_test_original = scaler_y.inverse_transform(y_test.reshape(-1, 1)).flatten()
original_rmse = np.sqrt(mean_squared_error(y_test_original, y_pred_original))
original_r2 = r2_score(y_test_original, y_pred_original)
print(f"\nTest RMSE (original): {original_rmse}")
print(f"Test R² (original): {original_r2}")
# LIME Explanation for AdaBoost
print(f"\nLIME Explanation for AdaBoost:")
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train,
training_labels=y_train,
mode='regression',
verbose=True,
feature_names=[f'PCA_{i+1}' for i in range(X_train.shape[1])],
feature_selection='auto'
)
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for AdaBoost...
Best AdaBoost model: {'learning_rate': 0.1, 'loss': 'square', 'n_estimators': 100}
Test RMSE (scaled): 0.8930218323009271
Test R² (scaled): 0.6867413228971462
Test RMSE (original): 0.8930218323009271
Test R² (original): 0.6867413228971462
LIME Explanation for AdaBoost:
Intercept 2.374324632689378
Prediction_local [4.24124174]
Right: 4.315950920245399
In [11]:
import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import GridSearchCV, train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.decomposition import PCA
import numpy as np
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machinelearning rajeev/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Scale the target variable (y) to range [0, 5] using MinMaxScaler
scaler_y = MinMaxScaler(feature_range=(0, 5))
y_scaled = scaler_y.fit_transform(y.values.reshape(-1, 1)).flatten()
# Standardize the features
scaler_X = StandardScaler()
X_scaled = scaler_X.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.99) # Preserve 99% of variance
X_pca = pca.fit_transform(X_scaled)
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_pca, y_scaled, test_size=0.2, random_state=42)
# Gradient Boosting model
model = GradientBoostingRegressor(random_state=42)
# Hyperparameter tuning grid
param_grid = {
'n_estimators': [50, 100], # Number of boosting rounds
'learning_rate': [0.01, 0.1], # Learning rate
'max_depth': [3, 5], # Maximum depth of trees
'subsample': [0.8, 1.0] # Fraction of samples for each tree
}
# Hyperparameter tuning
print(f"Training and hyperparameter tuning for Gradient Boosting...")
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best Gradient Boosting model: {grid_search.best_params_}")
# Evaluate the model on the test data
y_pred_scaled = best_model.predict(X_test)
# Clip predictions to the range [0, 5] to ensure valid outputs
y_pred_scaled_clipped = np.clip(y_pred_scaled, 0, 5)
# Evaluate performance metrics on the scaled target
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_scaled_clipped))
test_r2 = r2_score(y_test, y_pred_scaled_clipped)
print(f"\nTest RMSE (scaled): {test_rmse}")
print(f"Test R² (scaled): {test_r2}")
# Rescale the predictions and test target back to original range for final evaluation
y_pred_original = scaler_y.inverse_transform(y_pred_scaled_clipped.reshape(-1, 1)).flatten()
y_test_original = scaler_y.inverse_transform(y_test.reshape(-1, 1)).flatten()
original_rmse = np.sqrt(mean_squared_error(y_test_original, y_pred_original))
original_r2 = r2_score(y_test_original, y_pred_original)
print(f"\nTest RMSE (original): {original_rmse}")
print(f"Test R² (original): {original_r2}")
# LIME Explanation for Gradient Boosting
print(f"\nLIME Explanation for Gradient Boosting:")
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train,
training_labels=y_train,
mode='regression',
verbose=True,
feature_names=[f'PCA_{i+1}' for i in range(X_train.shape[1])],
feature_selection='auto'
)
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for Gradient Boosting...
Best Gradient Boosting model: {'learning_rate': 0.1, 'max_depth': 5, 'n_estimators': 100, 'subsample': 1.0}
Test RMSE (scaled): 0.5340575369073891
Test R² (scaled): 0.8879646556234895
Test RMSE (original): 0.5340575369073891
Test R² (original): 0.8879646556234895
LIME Explanation for Gradient Boosting:
Intercept 2.219734702808563
Prediction_local [4.96236573]
Right: 5.006394938266051
In [12]:
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV, train_test_split, cross_val_score
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.decomposition import PCA
import numpy as np
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machinelearning rajeev/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Scale the target variable (y) to range [0, 5] using MinMaxScaler
scaler_y = MinMaxScaler(feature_range=(0, 5))
y_scaled = scaler_y.fit_transform(y.values.reshape(-1, 1)).flatten()
# Standardize the features
scaler_X = StandardScaler()
X_scaled = scaler_X.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.99) # Preserve 99% of variance
X_pca = pca.fit_transform(X_scaled)
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_pca, y_scaled, test_size=0.2, random_state=42)
# Random Forest model
model = RandomForestRegressor(random_state=42)
# Hyperparameter tuning grid
param_grid = {
'n_estimators': [50, 100], # Number of trees in the forest
'max_depth': [3, 5, 10], # Maximum depth of trees
'min_samples_split': [2, 5], # Minimum number of samples required to split an internal node
'min_samples_leaf': [1, 2], # Minimum number of samples required to be at a leaf node
'bootstrap': [True, False] # Whether bootstrap samples are used when building trees
}
# Hyperparameter tuning
print(f"Training and hyperparameter tuning for Random Forest...")
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best Random Forest model: {grid_search.best_params_}")
# Cross-validation performance on the training set for RMSE and R²
train_cv_r2_scores = cross_val_score(best_model, X_train, y_train, cv=5, scoring='r2')
train_cv_rmse_scores = cross_val_score(best_model, X_train, y_train, cv=5, scoring='neg_mean_squared_error')
# Mean and Standard Deviation for R² and RMSE
train_cv_mean_r2 = train_cv_r2_scores.mean()
train_cv_std_r2 = train_cv_r2_scores.std()
train_cv_mean_rmse = np.sqrt(-train_cv_rmse_scores.mean()) # RMSE is negative, so negate to make it positive
train_cv_std_rmse = np.std(np.sqrt(-train_cv_rmse_scores))
# Output the cross-validation metrics on the training set
print(f"\nTraining CV Mean R²: {train_cv_mean_r2}")
print(f"Training CV Std R²: {train_cv_std_r2}")
print(f"Training CV Mean RMSE: {train_cv_mean_rmse}")
print(f"Training CV Std RMSE: {train_cv_std_rmse}")
# Evaluate the model on the test data
y_pred_scaled = best_model.predict(X_test)
# Clip predictions to the range [0, 5] to ensure valid outputs
y_pred_scaled_clipped = np.clip(y_pred_scaled, 0, 5)
# Evaluate performance metrics on the scaled target
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_scaled_clipped))
test_r2 = r2_score(y_test, y_pred_scaled_clipped)
print(f"\nTest RMSE (scaled): {test_rmse}")
print(f"Test R² (scaled): {test_r2}")
# Rescale the predictions and test target back to original range for final evaluation
y_pred_original = scaler_y.inverse_transform(y_pred_scaled_clipped.reshape(-1, 1)).flatten()
y_test_original = scaler_y.inverse_transform(y_test.reshape(-1, 1)).flatten()
original_rmse = np.sqrt(mean_squared_error(y_test_original, y_pred_original))
original_r2 = r2_score(y_test_original, y_pred_original)
print(f"\nTest RMSE (original): {original_rmse}")
print(f"Test R² (original): {original_r2}")
# LIME Explanation for Random Forest
print(f"\nLIME Explanation for Random Forest:")
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train,
training_labels=y_train,
mode='regression',
verbose=True,
feature_names=[f'PCA_{i+1}' for i in range(X_train.shape[1])],
feature_selection='auto'
)
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for Random Forest...
C:\Users\dhanu\AppData\Local\Programs\Python\Python312\Lib\site-packages\numpy\ma\core.py:2846: RuntimeWarning: invalid value encountered in cast _data = np.array(data, dtype=dtype, copy=copy,
Best Random Forest model: {'bootstrap': True, 'max_depth': 10, 'min_samples_leaf': 1, 'min_samples_split': 2, 'n_estimators': 100}
Training CV Mean R²: 0.8496690276245584
Training CV Std R²: 0.014404867628671353
Training CV Mean RMSE: 0.6001945837081203
Training CV Std RMSE: 0.03456105712198034
Test RMSE (scaled): 0.5866251008226896
Test R² (scaled): 0.8648237979301048
Test RMSE (original): 0.5866251008226896
Test R² (original): 0.8648237979301048
LIME Explanation for Random Forest:
Intercept 2.326102091561775
Prediction_local [4.52145161]
Right: 4.9707451401738805
In [ ]:
import pandas as pd
from sklearn.svm import SVR
from sklearn.model_selection import GridSearchCV, train_test_split, cross_val_score
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.decomposition import PCA
import numpy as np
import lime.lime_tabular
# Load the dataset
data = pd.read_excel(r"C:/Users/dhanu/OneDrive/Desktop/machinelearning rajeev/ML TRAIN DATASETS/gpt2 embeddings.xlsx")
# Drop any irrelevant columns, such as text or index columns
data = data.drop(columns=['Equation', 'GPT2_Embedding'], errors='ignore')
# Features and target variable
X = data.iloc[:, :-1] # All columns except the last one
y = data['output'] # Target variable
# Scale the target variable (y) to range [0, 5] using MinMaxScaler
scaler_y = MinMaxScaler(feature_range=(0, 5))
y_scaled = scaler_y.fit_transform(y.values.reshape(-1, 1)).flatten()
# Standardize the features
scaler_X = StandardScaler()
X_scaled = scaler_X.fit_transform(X)
# Apply PCA for dimensionality reduction
pca = PCA(n_components=0.99) # Preserve 99% of variance
X_pca = pca.fit_transform(X_scaled)
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_pca, y_scaled, test_size=0.2, random_state=42)
# SVR model
model = SVR()
# Hyperparameter tuning grid
param_grid = {
'kernel': ['linear', 'poly', 'rbf'], # Kernel function to use
'C': [0.1, 1, 10], # Regularization parameter
'epsilon': [0.01, 0.1, 0.2], # Epsilon parameter in the loss function
'gamma': ['scale', 'auto'] # Kernel coefficient for 'rbf', 'poly', etc.
}
# Hyperparameter tuning
print(f"Training and hyperparameter tuning for SVR...")
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error', n_jobs=-1)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
print(f"Best SVR model: {grid_search.best_params_}")
# Cross-validation performance on the training set for RMSE and R²
train_cv_r2_scores = cross_val_score(best_model, X_train, y_train, cv=5, scoring='r2')
train_cv_rmse_scores = cross_val_score(best_model, X_train, y_train, cv=5, scoring='neg_mean_squared_error')
# Mean and Standard Deviation for R² and RMSE
train_cv_mean_r2 = train_cv_r2_scores.mean()
train_cv_std_r2 = train_cv_r2_scores.std()
train_cv_mean_rmse = np.sqrt(-train_cv_rmse_scores.mean()) # RMSE is negative, so negate to make it positive
train_cv_std_rmse = np.std(np.sqrt(-train_cv_rmse_scores))
# Output the cross-validation metrics on the training set
print(f"\nTraining CV Mean R²: {train_cv_mean_r2}")
print(f"Training CV Std R²: {train_cv_std_r2}")
print(f"Training CV Mean RMSE: {train_cv_mean_rmse}")
print(f"Training CV Std RMSE: {train_cv_std_rmse}")
# Evaluate the model on the test data
y_pred_scaled = best_model.predict(X_test)
# Clip predictions to the range [0, 5] to ensure valid outputs
y_pred_scaled_clipped = np.clip(y_pred_scaled, 0, 5)
# Evaluate performance metrics on the scaled target
test_rmse = np.sqrt(mean_squared_error(y_test, y_pred_scaled_clipped))
test_r2 = r2_score(y_test, y_pred_scaled_clipped)
print(f"\nTest RMSE (scaled): {test_rmse}")
print(f"Test R² (scaled): {test_r2}")
# Rescale the predictions and test target back to original range for final evaluation
y_pred_original = scaler_y.inverse_transform(y_pred_scaled_clipped.reshape(-1, 1)).flatten()
y_test_original = scaler_y.inverse_transform(y_test.reshape(-1, 1)).flatten()
original_rmse = np.sqrt(mean_squared_error(y_test_original, y_pred_original))
original_r2 = r2_score(y_test_original, y_pred_original)
print(f"\nTest RMSE (original): {original_rmse}")
print(f"Test R² (original): {original_r2}")
# LIME Explanation for SVR
print(f"\nLIME Explanation for SVR:")
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train,
training_labels=y_train,
mode='regression',
verbose=True,
feature_names=[f'PCA_{i+1}' for i in range(X_train.shape[1])],
feature_selection='auto'
)
lime_exp = explainer.explain_instance(X_test[0], best_model.predict, num_features=5)
lime_exp.show_in_notebook()
Training and hyperparameter tuning for SVR...
In [ ]: